package com.ruoyi.project.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 合同对象 con_contract
 * 
 * @author phil
 * @date 2020-05-29
 */
public class ConContract extends BaseEntity{
	private static final long serialVersionUID = 1L;

	/** 合同Id */
	private Long contractId;

	/** 合同编号 */
	@Excel(name = "合同编号")
	private String contractNo;

	/** 合同名称 */
	@Excel(name = "合同名称")
	private String contractName;

	/** 合同年度 */
	@Excel(name = "合同年度")
	private Integer contractYear;

	/** 合同金额 */
	@Excel(name = "合同金额")
	private String amount;

	/** 客户名称 */
	@Excel(name = "客户名称")
	private String customer;

	/** 合同类型 */
	@Excel(name = "合同类型", readConverterExp = "0=技术服务合同,1=技术开发合同,2=销售合同,3=培训合同,4=科技项目合同,5=贸易合同,6=其他,7=技术咨询合同,8=租赁合同,9=其他运营业务,10=运行维护合同")
	private String contractType;

	/** 大区 */
	@Excel(name = "大区")
	private String region;

	/** 省份 */
	@Excel(name = "省份")
	private String province;

	/** 合同开票金额 */
	@Excel(name = "合同开票金额")
	private String invoicedAmount;

	/** 合同开票比例 */
	@Excel(name = "合同开票比例(%)")
	private Double invoicedRatio;

	/** 合同总到款额 */
	@Excel(name = "合同总到款额")
	private String receivedAmount;

	/** 总到款比例 */
	@Excel(name = "总到款比例(%)")
	private Double receivedRatio;

	/** 进度应收金额 */
	@Excel(name = "进度应收金额")
	private Double progressReceivableAmount;

	/** 进度应收比例 */
	@Excel(name = "进度应收比例（%）")
	private Long progressReceivableRatio;

	/** 进度应收里程碑 */
	@Excel(name = "进度应收里程碑")
	private String progressReceivableName;

	/** 所属业务部门 */
	private String deptIds;

	/** 部门名称 */
	@Excel(name = "所属业务部门")
	private String deptNames;

	/**
	 * 项目编码
	 */
	@Excel(name = "项目编码")
	private String projectNOs;

	/**
	 * 项目Id
	 */
	private String projectIds;

	// 合并项目编号
	private String projectNoConcat;

	public void setContractId(Long contractId){
		this.contractId = contractId;
	}

	public Long getContractId(){
		return contractId;
	}

	public void setContractName(String contractName){
		this.contractName = contractName;
	}

	public String getContractName(){
		return contractName;
	}

	public void setContractNo(String contractNo){
		this.contractNo = contractNo;
	}

	public String getContractNo(){
		return contractNo;
	}

	public void setContractYear(Integer contractYear){
		this.contractYear = contractYear;
	}

	public Integer getContractYear(){
		return contractYear;
	}

	public void setAmount(String amount){
		this.amount = amount;
	}

	public String getAmount(){
		return amount;
	}

	public void setCustomer(String customer){
		this.customer = customer;
	}

	public String getCustomer(){
		return customer;
	}

	public void setContractType(String contractType){
		this.contractType = contractType;
	}

	public String getContractType(){
		return contractType;
	}

	public void setRegion(String region){
		this.region = region;
	}

	public String getRegion(){
		return region;
	}

	public void setProvince(String province){
		this.province = province;
	}

	public String getProvince(){
		return province;
	}

	public void setInvoicedAmount(String invoicedAmount){
		this.invoicedAmount = invoicedAmount;
	}

	public String getInvoicedAmount(){
		return invoicedAmount;
	}

	public void setInvoicedRatio(Double invoicedRatio){
		this.invoicedRatio = invoicedRatio;
	}

	public Double getInvoicedRatio(){
		return invoicedRatio;
	}

	public void setReceivedAmount(String receivedAmount){
		this.receivedAmount = receivedAmount;
	}

	public String getReceivedAmount(){
		return receivedAmount;
	}

	public void setReceivedRatio(Double receivedRatio){
		this.receivedRatio = receivedRatio;
	}

	public Double getReceivedRatio(){
		return receivedRatio;
	}

	public void setProgressReceivableAmount(Double progressReceivableAmount){
		this.progressReceivableAmount = progressReceivableAmount;
	}

	public Double getProgressReceivableAmount(){
		return progressReceivableAmount;
	}

	public void setProgressReceivableRatio(Long progressReceivableRatio){
		this.progressReceivableRatio = progressReceivableRatio;
	}

	public Long getProgressReceivableRatio(){
		return progressReceivableRatio;
	}

	public void setProgressReceivableName(String progressReceivableName){
		this.progressReceivableName = progressReceivableName;
	}

	public String getProgressReceivableName(){
		return progressReceivableName;
	}

	public void setDeptIds(String deptIds){
		this.deptIds = deptIds;
	}

	public String getDeptIds(){
		return deptIds;
	}

	public void setDeptNames(String deptName){
		this.deptNames = deptName;
	}

	public String getDeptNames(){
		return deptNames;
	}

	public String getProjectNOs(){
		return projectNOs;
	}

	public void setProjectNOs(String projectNOs){
		this.projectNOs = projectNOs;
	}

	public String getProjectIds(){
		return projectIds;
	}

	public void setProjectIds(String projectIds){
		this.projectIds = projectIds;
	}

	public String getProjectNoConcat(){
		return projectNoConcat;
	}

	public void setProjectNoConcat(String projectNoConcat){
		this.projectNoConcat = projectNoConcat;
	}

	@Override
	public String toString(){
		return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("contractId", getContractId()).append("contractName", getContractName()).append("contractNo", getContractNo()).append("contractYear", getContractYear())
				.append("amount", getAmount()).append("customer", getCustomer()).append("contractType", getContractType()).append("region", getRegion()).append("province", getProvince()).append("invoicedAmount", getInvoicedAmount())
				.append("invoicedRatio", getInvoicedRatio()).append("receivedAmount", getReceivedAmount()).append("receivedRatio", getReceivedRatio()).append("progressReceivableAmount", getProgressReceivableAmount())
				.append("progressReceivableRatio", getProgressReceivableRatio()).append("progressReceivableName", getProgressReceivableName()).append("deptId", getDeptIds()).append("deptName", getDeptNames()).append("createBy", getCreateBy())
				.append("createTime", getCreateTime()).append("updateBy", getUpdateBy()).append("updateTime", getUpdateTime()).toString();
	}
}
